package plus.exp;

import plus.S_Nil;
import plus.Type;
import plus.run.Emit;
import plus.run.Label;
import plus.run.VM;


public class E_Nil extends Exp {
	@Override
	public void threadScope() { type = Type.fresh(S_Nil.get()); }
	@Override String impliedName() { return null; }
	@Override String aThis() { return "a constant (nil)"; }
	@Override
	public void compilePush() { Emit.asm(VM.NUL); }
	@Override
	public void compileJcc(Label where, boolean when) {
		throw new RuntimeException("Can't Happen!");
	}
}
